package com.cysyz.mylib.utils.xsvmaker.impl;

import com.cysyz.mylib.utils.myassert.MyAssert;
import com.cysyz.mylib.utils.xsvmaker.XsvMaker;

/**
 * 生成各种特殊符号分割的字符串工具
 */
public class XsvMakerImpl implements XsvMaker {
	private StringBuilder stringBuilder = new StringBuilder();
	private String separator;
	
	public XsvMakerImpl(String separator) {
		this.separator = separator;
	}
	
	/** 
	 *@Title: append
	 * @Author: 崔勇	cysyz1229@gmail.com
	 * @Version: V1.00
	 * @Date 2014年6月10日 下午5:11:34
	 * @param value
	 */
	@Override
	public void append(String value) {
		MyAssert.notNull(value);
		addSomethingPreSeparator(stringBuilder);
		stringBuilder.append(value).append(separator);
	}
	
	protected void addSomethingPreSeparator(StringBuilder stringBuilder2) {}
	
	/** 
	 *@Title: getResult
	 * @Author: 崔勇	cysyz1229@gmail.com
	 * @Version: V1.00
	 * @Date 2014年6月10日 下午5:11:34
	 * @return
	 */
	@Override
	public String getResult() {
		stringBuilder.deleteCharAt(stringBuilder.length() -1);
		return stringBuilder.toString();
	}
}
